home *** CD-ROM | disk | FTP | other *** search
/ Freelog 117 / FreelogNo117-OctobreNovembre2013.iso / Programmation / jedit / jedit5.1.0install.exe / {app} / modes / lua.xml < prev    next >
Extensible Markup Language  |  2013-07-28  |  9KB  |  239 lines

  1. <?xml version="1.0"?>
  2. <!DOCTYPE MODE SYSTEM "xmode.dtd">
  3. <!-- Lua 5.0 Mode, written by Philipp Janda -->
  4.  
  5. <!-- TODO:
  6.   * Autoindent screws up, if { or ( gets typed after the indentNextLines trigger
  7.   -> This is very annoying, so I disabled the automatic indenting in this case!
  8.   -> It should be fixed if you set doubleBracketIndent to "true", but I keep it
  9.      disabled anyway since it is not that useful if you don't have an unindent!
  10.   * Should I use FUNCTION and OPERATOR tags inside of <KEYWORDS>??!!
  11. -->
  12.  
  13. <MODE>
  14.   <PROPS>
  15.     <!-- Comments -->
  16.     <PROPERTY NAME="lineComment" VALUE="--"/>
  17.     <PROPERTY NAME="commentStart" VALUE="--[["/>
  18.     <PROPERTY NAME="commentEnd" VALUE="]]"/>
  19.     <PROPERTY NAME="wordBreakChars" VALUE=",+-=<>/?^&*"/>
  20.     <!-- Auto indent -->
  21.     <PROPERTY NAME="indentOpenBrackets" VALUE="{"/>
  22.     <PROPERTY NAME="indentCloseBrackets" VALUE="}"/>
  23.     <!--
  24.     <PROPERTY NAME="indentNextLines" VALUE=".*((then|else|do|function)).*"/>
  25.     -->
  26.     <PROPERTY NAME="doubleBracketIndent" VALUE="true"/>
  27.   </PROPS>
  28.   <RULES IGNORE_CASE="FALSE" NO_WORD_SEP="_:." HIGHLIGHT_DIGITS="TRUE"
  29.          DIGIT_RE="[\p{Digit}]*(\.[\p{Digit}]*)?([eE][+-]?[\p{Digit}]*)?">
  30.     <!-- Multiline comments -->
  31.     <SPAN_REGEXP TYPE="COMMENT1" HASH_CHARS="--[">
  32.       <BEGIN>--\[(=*)\[</BEGIN>
  33.       <END>]$1]</END>
  34.     </SPAN_REGEXP>
  35.     <!-- Single line comments -->
  36.     <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>
  37.     <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT2">#!</EOL_SPAN>
  38.     <!-- Simple string literals -->
  39.     <SPAN TYPE="LITERAL1" ESCAPE="\">
  40.       <BEGIN>"</BEGIN>
  41.       <END>"</END>
  42.     </SPAN>
  43.     <SPAN TYPE="LITERAL1" ESCAPE="\">
  44.       <BEGIN>'</BEGIN>
  45.       <END>'</END>
  46.     </SPAN>
  47.     <!-- Multiline string literals -->
  48.     <SPAN_REGEXP TYPE="LITERAL1" HASH_CHAR="[">
  49.       <BEGIN>\[(=*)\[</BEGIN>
  50.       <END>]$1]</END>
  51.     </SPAN_REGEXP>
  52.     <!-- Operators -->
  53.     <SEQ TYPE="OPERATOR">+</SEQ>
  54.     <SEQ TYPE="OPERATOR">-</SEQ>
  55.     <SEQ TYPE="OPERATOR">*</SEQ>
  56.     <SEQ TYPE="OPERATOR">/</SEQ>
  57.     <SEQ TYPE="OPERATOR">^</SEQ>
  58.     <SEQ TYPE="OPERATOR">..</SEQ>
  59.     <SEQ TYPE="OPERATOR"><=</SEQ>
  60.     <SEQ TYPE="OPERATOR"><</SEQ>
  61.     <SEQ TYPE="OPERATOR">>=</SEQ>
  62.     <SEQ TYPE="OPERATOR">></SEQ>
  63.     <SEQ TYPE="OPERATOR">==</SEQ>
  64.     <SEQ TYPE="OPERATOR">~=</SEQ>
  65.     <SEQ TYPE="OPERATOR">=</SEQ>
  66.     <!-- Function calls and definitions -->
  67.     <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>
  68.     <SEQ TYPE="OPERATOR">)</SEQ>
  69.     <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">{</MARK_PREVIOUS>
  70.     <SEQ TYPE="OPERATOR">}</SEQ>
  71.     <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">"</MARK_PREVIOUS>
  72.     <SEQ TYPE="OPERATOR">"</SEQ>
  73.     <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">'</MARK_PREVIOUS>
  74.     <SEQ TYPE="OPERATOR">'</SEQ>
  75.  
  76.     <KEYWORDS>
  77.       <!-- Keywords -->
  78.       <KEYWORD1>do</KEYWORD1>
  79.       <KEYWORD1>end</KEYWORD1>
  80.       <KEYWORD1>while</KEYWORD1>
  81.       <KEYWORD1>repeat</KEYWORD1>
  82.       <KEYWORD1>until</KEYWORD1>
  83.       <KEYWORD1>if</KEYWORD1>
  84.       <KEYWORD1>then</KEYWORD1>
  85.       <KEYWORD1>elseif</KEYWORD1>
  86.       <KEYWORD1>else</KEYWORD1>
  87.       <KEYWORD1>return</KEYWORD1>
  88.       <KEYWORD1>break</KEYWORD1>
  89.       <KEYWORD1>for</KEYWORD1>
  90.       <KEYWORD1>in</KEYWORD1>
  91.       <KEYWORD1>function</KEYWORD1>
  92.       <KEYWORD1>local</KEYWORD1>
  93.       <KEYWORD3>nil</KEYWORD3>
  94.       <KEYWORD3>true</KEYWORD3>
  95.       <KEYWORD3>false</KEYWORD3>
  96.       <KEYWORD1>and</KEYWORD1>
  97.       <KEYWORD1>or</KEYWORD1>
  98.       <KEYWORD1>not</KEYWORD1>
  99.       <!-- Builtin functions or special names -->
  100.       <KEYWORD2>assert</KEYWORD2>
  101.       <KEYWORD2>collectgarbage</KEYWORD2>
  102.       <KEYWORD2>dofile</KEYWORD2>
  103.       <KEYWORD2>error</KEYWORD2>
  104.       <KEYWORD2>_G</KEYWORD2>
  105.       <KEYWORD2>getfenv</KEYWORD2>
  106.       <KEYWORD2>getmetatable</KEYWORD2>
  107.       <KEYWORD2>gcinfo</KEYWORD2>
  108.       <KEYWORD2>ipairs</KEYWORD2>
  109.       <KEYWORD2>loadfile</KEYWORD2>
  110.       <KEYWORD2>loadlib</KEYWORD2>
  111.       <KEYWORD2>loadstring</KEYWORD2>
  112.       <KEYWORD2>next</KEYWORD2>
  113.       <KEYWORD2>pairs</KEYWORD2>
  114.       <KEYWORD2>pcall</KEYWORD2>
  115.       <KEYWORD2>print</KEYWORD2>
  116.       <KEYWORD2>rawequal</KEYWORD2>
  117.       <KEYWORD2>rawget</KEYWORD2>
  118.       <KEYWORD2>rawset</KEYWORD2>
  119.       <KEYWORD2>require</KEYWORD2>
  120.       <KEYWORD2>setfenv</KEYWORD2>
  121.       <KEYWORD2>setmetatable</KEYWORD2>
  122.       <KEYWORD2>tonumber</KEYWORD2>
  123.       <KEYWORD2>tostring</KEYWORD2>
  124.       <KEYWORD2>type</KEYWORD2>
  125.       <KEYWORD2>unpack</KEYWORD2>
  126.       <KEYWORD2>xpcall</KEYWORD2>
  127.       <KEYWORD2>_VERSION</KEYWORD2>
  128.       <KEYWORD2>LUA_PATH</KEYWORD2>
  129.       <KEYWORD2>_LOADED</KEYWORD2>
  130.       <KEYWORD2>_REQUIREDNAME</KEYWORD2>
  131.       <KEYWORD2>_ALERT</KEYWORD2>
  132.       <KEYWORD2>_ERRORMESSAGE</KEYWORD2>
  133.       <KEYWORD2>_PROMPT</KEYWORD2>
  134.       <KEYWORD2>__add</KEYWORD2>
  135.       <KEYWORD2>__sub</KEYWORD2>
  136.       <KEYWORD2>__mul</KEYWORD2>
  137.       <KEYWORD2>__div</KEYWORD2>
  138.       <KEYWORD2>__pow</KEYWORD2>
  139.       <KEYWORD2>__unm</KEYWORD2>
  140.       <KEYWORD2>__concat</KEYWORD2>
  141.       <KEYWORD2>__eq</KEYWORD2>
  142.       <KEYWORD2>__lt</KEYWORD2>
  143.       <KEYWORD2>__le</KEYWORD2>
  144.       <KEYWORD2>__index</KEYWORD2>
  145.       <KEYWORD2>__newindex</KEYWORD2>
  146.       <KEYWORD2>__call</KEYWORD2>
  147.       <KEYWORD2>__metatable</KEYWORD2>
  148.       <KEYWORD2>__mode</KEYWORD2>
  149.       <KEYWORD2>__tostring</KEYWORD2>
  150.       <KEYWORD2>__fenv</KEYWORD2>
  151.       <KEYWORD2>...</KEYWORD2>
  152.       <KEYWORD2>arg</KEYWORD2>
  153.       <KEYWORD2>coroutine.create</KEYWORD2>
  154.       <KEYWORD2>coroutine.resume</KEYWORD2>
  155.       <KEYWORD2>coroutine.status</KEYWORD2>
  156.       <KEYWORD2>coroutine.wrap</KEYWORD2>
  157.       <KEYWORD2>coroutine.yield</KEYWORD2>
  158.       <KEYWORD2>string.byte</KEYWORD2>
  159.       <KEYWORD2>string.char</KEYWORD2>
  160.       <KEYWORD2>string.dump</KEYWORD2>
  161.       <KEYWORD2>string.find</KEYWORD2>
  162.       <KEYWORD2>string.len</KEYWORD2>
  163.       <KEYWORD2>string.lower</KEYWORD2>
  164.       <KEYWORD2>string.rep</KEYWORD2>
  165.       <KEYWORD2>string.sub</KEYWORD2>
  166.       <KEYWORD2>string.upper</KEYWORD2>
  167.       <KEYWORD2>string.format</KEYWORD2>
  168.       <KEYWORD2>string.gfind</KEYWORD2>
  169.       <KEYWORD2>string.gsub</KEYWORD2>
  170.       <KEYWORD2>table.concat</KEYWORD2>
  171.       <KEYWORD2>table.foreach</KEYWORD2>
  172.       <KEYWORD2>table.foreachi</KEYWORD2>
  173.       <KEYWORD2>table.getn</KEYWORD2>
  174.       <KEYWORD2>table.sort</KEYWORD2>
  175.       <KEYWORD2>table.insert</KEYWORD2>
  176.       <KEYWORD2>table.remove</KEYWORD2>
  177.       <KEYWORD2>table.setn</KEYWORD2>
  178.       <KEYWORD2>math.abs</KEYWORD2>
  179.       <KEYWORD2>math.acos</KEYWORD2>
  180.       <KEYWORD2>math.asin</KEYWORD2>
  181.       <KEYWORD2>math.atan</KEYWORD2>
  182.       <KEYWORD2>math.atan2</KEYWORD2>
  183.       <KEYWORD2>math.ceil</KEYWORD2>
  184.       <KEYWORD2>math.cos</KEYWORD2>
  185.       <KEYWORD2>math.deg</KEYWORD2>
  186.       <KEYWORD2>math.exp</KEYWORD2>
  187.       <KEYWORD2>math.floor</KEYWORD2>
  188.       <KEYWORD2>math.log</KEYWORD2>
  189.       <KEYWORD2>math.log10</KEYWORD2>
  190.       <KEYWORD2>math.max</KEYWORD2>
  191.       <KEYWORD2>math.min</KEYWORD2>
  192.       <KEYWORD2>math.mod</KEYWORD2>
  193.       <KEYWORD2>math.pow</KEYWORD2>
  194.       <KEYWORD2>math.rad</KEYWORD2>
  195.       <KEYWORD2>math.sin</KEYWORD2>
  196.       <KEYWORD2>math.sqrt</KEYWORD2>
  197.       <KEYWORD2>math.tan</KEYWORD2>
  198.       <KEYWORD2>math.frexp</KEYWORD2>
  199.       <KEYWORD2>math.ldexp</KEYWORD2>
  200.       <KEYWORD2>math.random</KEYWORD2>
  201.       <KEYWORD2>math.randomseed</KEYWORD2>
  202.       <KEYWORD2>math.pi</KEYWORD2>
  203.       <KEYWORD2>io.close</KEYWORD2>
  204.       <KEYWORD2>io.flush</KEYWORD2>
  205.       <KEYWORD2>io.input</KEYWORD2>
  206.       <KEYWORD2>io.lines</KEYWORD2>
  207.       <KEYWORD2>io.open</KEYWORD2>
  208.       <KEYWORD2>io.read</KEYWORD2>
  209.       <KEYWORD2>io.tmpfile</KEYWORD2>
  210.       <KEYWORD2>io.type</KEYWORD2>
  211.       <KEYWORD2>io.write</KEYWORD2>
  212.       <KEYWORD2>io.stdin</KEYWORD2>
  213.       <KEYWORD2>io.stdout</KEYWORD2>
  214.       <KEYWORD2>io.stderr</KEYWORD2>
  215.       <KEYWORD2>os.clock</KEYWORD2>
  216.       <KEYWORD2>os.date</KEYWORD2>
  217.       <KEYWORD2>os.difftime</KEYWORD2>
  218.       <KEYWORD2>os.execute</KEYWORD2>
  219.       <KEYWORD2>os.exit</KEYWORD2>
  220.       <KEYWORD2>os.getenv</KEYWORD2>
  221.       <KEYWORD2>os.remove</KEYWORD2>
  222.       <KEYWORD2>os.rename</KEYWORD2>
  223.       <KEYWORD2>os.setlocale</KEYWORD2>
  224.       <KEYWORD2>os.time</KEYWORD2>
  225.       <KEYWORD2>os.tmpname</KEYWORD2>
  226.       <KEYWORD2>debug.debug</KEYWORD2>
  227.       <KEYWORD2>debug.gethook</KEYWORD2>
  228.       <KEYWORD2>debug.getinfo</KEYWORD2>
  229.       <KEYWORD2>debug.getlocal</KEYWORD2>
  230.       <KEYWORD2>debug.getupvalue</KEYWORD2>
  231.       <KEYWORD2>debug.setlocal</KEYWORD2>
  232.       <KEYWORD2>debug.setupvalue</KEYWORD2>
  233.       <KEYWORD2>debug.sethook</KEYWORD2>
  234.       <KEYWORD2>debug.traceback</KEYWORD2>
  235.     </KEYWORDS>
  236.   </RULES>
  237. </MODE>
  238.  
  239.